{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第二回：艺术画笔见乾坤"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一、概述"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. matplotlib的三层api\n",
    "matplotlib的原理或者说基础逻辑是，用Artist对象在画布(canvas)上绘制(Render)图形。  \n",
    "就和人作画的步骤类似：  \n",
    "1. 准备一块画布或画纸\n",
    "2. 准备好颜料、画笔等制图工具\n",
    "3. 作画\n",
    "    \n",
    "所以matplotlib有三个层次的API：  \n",
    "  \n",
    "`matplotlib.backend_bases.FigureCanvas` 代表了绘图区，所有的图像都是在绘图区完成的  \n",
    "`matplotlib.backend_bases.Renderer` 代表了渲染器，可以近似理解为画笔，控制如何在 FigureCanvas 上画图。  \n",
    "`matplotlib.artist.Artist` 代表了具体的图表组件，即调用了Renderer的接口在Canvas上作图。  \n",
    "前两者处理程序和计算机的底层交互的事项，第三项Artist就是具体的调用接口来做出我们想要的图，比如图形、文本、线条的设定。所以通常来说，我们95%的时间，都是用来和matplotlib.artist.Artist类打交道的。\n",
    "\n",
    "### 2. Artist的分类\n",
    "Artist有两种类型：`primitives` 和`containers`。   \n",
    "`primitive`是基本要素，它包含一些我们要在绘图区作图用到的标准图形对象，如**曲线Line2D，文字text，矩形Rectangle，图像image**等。  \n",
    "`container`是容器，即用来装基本要素的地方，包括**图形figure、坐标系Axes和坐标轴Axis**。他们之间的关系如下图所示：  \n",
    "![分类](https://img-blog.csdnimg.cn/20201122230916134.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODYwNDk2MQ==,size_16,color_FFFFFF,t_70#pic_center)  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-31T08:16:02.613781Z",
     "start_time": "2020-10-31T08:16:02.591813Z"
    }
   },
   "source": [
    "### 3. matplotlib标准用法\n",
    "matplotlib的标准使用流程为：  \n",
    "1. 创建一个`Figure`实例\n",
    "2. 使用`Figure`实例创建一个或者多个`Axes`或`Subplot`实例\n",
    "3. 使用`Axes`实例的辅助方法来创建`primitive`  \n",
    "\n",
    "值得一提的是，Axes是一种容器，它可能是matplotlib API中最重要的类，并且我们大多数时间都花在和它打交道上。更具体的信息会在之后容器小节说明。\n",
    "\n",
    "一个流程示例及说明如下：  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:14.365365Z",
     "start_time": "2020-11-22T19:03:13.189584Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "# step 1 \n",
    "# 我们用 matplotlib.pyplot.figure() 创建了一个Figure实例\n",
    "fig = plt.figure()\n",
    "\n",
    "# step 2\n",
    "# 然后用Figure实例创建了一个两行一列(即可以有两个subplot)的绘图区，并同时在第一个位置创建了一个subplot\n",
    "ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot\n",
    "\n",
    "# step 3\n",
    "# 然后用Axes实例的方法画了一条曲线\n",
    "t = np.arange(0.0, 1.0, 0.01)\n",
    "s = np.sin(2*np.pi*t)\n",
    "line, = ax.plot(t, s, color='blue', lw=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、自定义你的Artist对象"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Artist属性\n",
    "在图形中的每一个元素都对应着一个matplotlib `Artist`，且都有其对应的配置属性列表。  \n",
    "  \n",
    "`Figure`本身包含一个Rectangle，Rectangle的大小就是Figure的大小；你可以用来设置Figure的背景色和透明度。  \n",
    "每个`Axes`边界框(默认白底黑边)，也有一个Rectangle，通过它可以设置Axes的颜色、透明度等。  \n",
    "这些实例都存储在成员变量(member variables) `Figure.patch` 和 `Axes.patch`中。 （*Patch*是一个来源于MATLAB的名词，它是图形上颜色的一个2D*补丁*，包含**rectangels-矩形**，**circles-圆** 和 **plygons-多边形**）\n",
    "  \n",
    "换个表达方式：  \n",
    "Figure.patch属性：是一个Rectangle，代表了图表的矩形框，它的大小就是图表的大小， 并且可以通过它设置figure的背景色和透明度。  \n",
    "Axes.patch属性：也是一个Rectangle，代表了绘图坐标轴内部的矩形框（白底黑边）， 通过它可以设置Axes的颜色、透明度等。  \n",
    "\n",
    "\n",
    "每个matplotlib `Artist`都有以下属性：\n",
    "+ `.alpha`属性：透明度。值为0—1之间的浮点数\n",
    "+ `.axes`属性：返回这个Artist所属的axes，可能为None\n",
    "+ `.figure`属性：该Artist所属的Figure，可能为None\n",
    "+ `.label`：一个text label\n",
    "+ `.visible`：布尔值，控制Artist是否绘制\n",
    "  \n",
    "这里仅列举几个常见的属性，更详细的属性清单请查阅官方文档： [Artist属性列表](https://matplotlib.org/tutorials/intermediate/artists.html#customizing-your-objects)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:14.574902Z",
     "start_time": "2020-11-22T19:03:14.368326Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.patches.Rectangle at 0x2b15318f048>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# .patch\n",
    "plt.figure().patch\n",
    "plt.axes().patch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 属性调用方式\n",
    "Artist对象的所有属性都通过相应的 `get_*` 和 `set_*` 函数进行读写。  \n",
    "例如下面的语句将alpha属性设置为当前值的一半：\n",
    "```\n",
    "a = o.get_alpha()\n",
    "o.set_alpha(0.5*a)\n",
    "```\n",
    "\n",
    "如果想一次设置多个属性，也可以用set方法：\n",
    "```\n",
    "o.set(alpha=0.5, zorder=2)\n",
    "```\n",
    "\n",
    "可以使用 `matplotlib.artist.getp(o,\"alpha\")` 来获取属性，如果指定属性名，则返回对象的该属性值；如果不指定属性名，则返回对象的所有的属性和值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:14.604817Z",
     "start_time": "2020-11-22T19:03:14.578887Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    agg_filter = None\n",
      "    alpha = None\n",
      "    animated = False\n",
      "    antialiased or aa = False\n",
      "    bbox = Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0)\n",
      "    capstyle = butt\n",
      "    children = []\n",
      "    clip_box = None\n",
      "    clip_on = True\n",
      "    clip_path = None\n",
      "    contains = None\n",
      "    data_transform = BboxTransformTo(     TransformedBbox(         Bbox...\n",
      "    edgecolor or ec = (1.0, 1.0, 1.0, 0.0)\n",
      "    extents = Bbox(x0=0.0, y0=0.0, x1=432.0, y1=288.0)\n",
      "    facecolor or fc = (1.0, 1.0, 1.0, 0.0)\n",
      "    figure = Figure(432x288)\n",
      "    fill = True\n",
      "    gid = None\n",
      "    hatch = None\n",
      "    height = 1\n",
      "    in_layout = False\n",
      "    joinstyle = miter\n",
      "    label = \n",
      "    linestyle or ls = solid\n",
      "    linewidth or lw = 0.0\n",
      "    patch_transform = CompositeGenericTransform(     BboxTransformTo(   ...\n",
      "    path = Path(array([[0., 0.],        [1., 0.],        [1.,...\n",
      "    path_effects = []\n",
      "    picker = None\n",
      "    rasterized = None\n",
      "    sketch_params = None\n",
      "    snap = None\n",
      "    transform = CompositeGenericTransform(     CompositeGenericTra...\n",
      "    transformed_clip_path_and_affine = (None, None)\n",
      "    url = None\n",
      "    verts = [[  0.   0.]  [432.   0.]  [432. 288.]  [  0. 288....\n",
      "    visible = True\n",
      "    width = 1\n",
      "    window_extent = Bbox(x0=0.0, y0=0.0, x1=432.0, y1=288.0)\n",
      "    x = 0\n",
      "    xy = (0, 0)\n",
      "    y = 0\n",
      "    zorder = 1\n"
     ]
    }
   ],
   "source": [
    "import matplotlib\n",
    "# Figure rectangle的属性\n",
    "matplotlib.artist.getp(fig.patch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 三、基本元素 - primitives\n",
    "现在我们知道了如何检查和设置给定对象的属性，我们还需要知道如何获取该对象。  \n",
    "  \n",
    "前文介绍到，`Artist`包含两种对象：`基本要素-primitives` 和 `容器-containers`。  \n",
    "`primitives`是基本要素，它包含一些我们要在绘图区作图用到的标准图形对象，如**曲线Line2D，文本text，矩形Rectangle，图像image**等。  \n",
    "`container`是容器，即用来装基本要素的地方，包括**图形figure、坐标系Axes和坐标轴Axis**。    \n",
    "  \n",
    "本章重点介绍下 `primitives` 的几种类型：**曲线-Line2D，矩形-Rectangle，图像-image** （其中文本-Text较为复杂，会在之后单独详细说明。）\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 2DLines\n",
    "在matplotlib中曲线的绘制，主要是通过类 `matplotlib.lines.Line2D` 来完成的。   \n",
    "它的基类: `matplotlib.artist.Artist`   \n",
    "  \n",
    "matplotlib中`线-line`的含义：它表示的可以是连接所有顶点的实线样式，也可以是每个顶点的标记。此外，这条线也会受到绘画风格的影响，比如，我们可以创建虚线种类的线。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "它的构造函数：\n",
    "\n",
    ">```\n",
    "class matplotlib.lines.Line2D(xdata, ydata, linewidth=None, linestyle=None, color=None, marker=None, markersize=None, markeredgewidth=None, markeredgecolor=None, markerfacecolor=None, markerfacecoloralt='none', fillstyle=None, antialiased=None, dash_capstyle=None, solid_capstyle=None, dash_joinstyle=None, solid_joinstyle=None, pickradius=5, drawstyle=None, markevery=None, **kwargs)\n",
    ">```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其中常用的的参数有：  \n",
    "+ **xdata**:需要绘制的line中点的在x轴上的取值，若忽略，则默认为range(1,len(ydata)+1)\n",
    "+ **ydata**:需要绘制的line中点的在y轴上的取值\n",
    "+ **linewidth**:线条的宽度\n",
    "+ **linestyle**:线型\n",
    "+ **color**:线条的颜色\n",
    "+ **marker**:点的标记，详细可参考[markers API](https://matplotlib.org/api/markers_api.html#module-matplotlib.markers)\n",
    "+ **markersize**:标记的size\n",
    "  \n",
    "其他详细参数可参考[Line2D官方文档](https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#examples-using-matplotlib-lines-line2d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### a. 如何设置Line2D的属性\n",
    "有三种方法可以用设置线的属性。  \n",
    "  \n",
    "1) **直接在plot()函数中设置**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:14.889128Z",
     "start_time": "2020-11-22T19:03:14.609805Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b153213548>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "plt.plot(x,y, linewidth=10) # 设置线的粗细参数为10"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2) **通过获得线对象，对线对象进行设置**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:15.099050Z",
     "start_time": "2020-11-22T19:03:14.892131Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "line, = plt.plot(x, y, '-')\n",
    "line.set_antialiased(False) # 关闭抗锯齿功能"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3) **获得线属性，使用setp()函数设置**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:15.323270Z",
     "start_time": "2020-11-22T19:03:15.102970Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[None, None]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "lines = plt.plot(x, y)\n",
    "plt.setp(lines, color='r', linewidth=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### b. 如何绘制lines\n",
    "**1) 绘制直线line**\n",
    "常用的方法有两种\n",
    "+ **pyplot方法绘制**  \n",
    "+ **Line2D对象绘制**  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. pyplot方法绘制"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:15.562639Z",
     "start_time": "2020-11-22T19:03:15.328265Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b153387f08>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAhrUlEQVR4nO3dd3xW9d3/8deXQICwIYGEEQh7BBAIyy1qATfFWvdCYlvb2vvurThqpVV7O+5fq3eHCjhwgFrAhQJqcVaGATGDIXtmQUgICSHr8/sjqTdFRsh1cp3rSt7PxyMPrlzX4TpvDjnvnJyc8/06M0NERMJPI78DiIhI7ajARUTClApcRCRMqcBFRMKUClxEJEw1DubKoqOjrUePHsFcpYhI2Fu1atVeM4s5+vmgFniPHj1ISUkJ5ipFRMKec277sZ7XKRQRkTClAhcRCVMqcBGRMKUCFxEJUypwEZEwddICd84975zLcc6lH/Fce+fch865jdV/tqvbmCIicrSaHIG/CEw46rl7gH+YWR/gH9Wfi4hIEJ20wM3sMyDvqKcvB2ZXP54NXOFtLBGR+mF3/iF+924G5RWVnr93bW/k6WRmmdWPs4BOx1vQOZcMJAPEx8fXcnUiIuGlstJ4dcV2Hl20nkqDScO6MKRrW0/XEfCdmGZmzrnjzgphZjOAGQBJSUmaPUJE6r0tuQe5Z34aK7flcVafaP4waTDd2kd5vp7aFni2cy7OzDKdc3FAjpehRETCUXlFJTM/38qfPvqWZo0b8cSVQ7hyRFecc3WyvtoW+DvATcCj1X++7VkiEZEwlLGngGnzU0nffYAJg2L5/RWD6NiqWZ2u86QF7pybC5wLRDvndgEPUlXcbzjnpgDbgavqMqSISKgqKavgz0s38synW2gXFcnT1w1n4uC4oKz7pAVuZtcc56XzPc4iIhJWVm3P4+55qWzOLWLy8K48cMkA2kZFBm39QR1OVkSkPig6XM4TSzYwe9k2OrdpzuxbR3FO3+8N113nVOAiIqfgs29zuXdBGnsKDnHT2B7cNb4fLZr6U6UqcBGRGsgvLuXh99Yxb9Uuesa04O+3jyWpR3tfM6nARUROYlFaJg+8ncH+4lLuOK8XvxjXh2ZNIvyOpQIXETmenMISHnw7g0XpWQzq3JrZt45kUOc2fsf6jgpcROQoZsa8Vbt4+L11HCqrYNqE/kw9K4HGEaE1ArcKXETkCDvzirnvzTQ+37iXkT3a8ejkIfSKael3rGNSgYuIUDX41EvLtvH4kg044KHLB3Hd6O40alQ3t8F7QQUuIg3eppyD3DM/lZTt+zmnbwyPTEqkazvvB5/ymgpcRBqssopKZny2hac+2khU0wj+eNVQJg3rUmeDT3lNBS4iDVL67gLunpfK2swDXDwkjumXDiKmVVO/Y50SFbiINCglZRU89Y+NzPhsC+1bRPLsDSMYPyjW71i1ogIXkQbjq215TJuXypa9Rfw4qRv3XTSANlFN/I5VaypwEan3Dh4u5/HF63lp2Xa6tmvOK1NGc2afaL9jBUwFLiL12scbcrh/QRqZB0q49YwE/mt8X6Ii60f11Y9/hYjIUfYXlfLQwrUs+Ho3fTq2ZP5PT2d4fDu/Y3kqoAJ3zt0JTAUcMNPMnvQilIhIbZkZ76dl8eA76eQXl/HLcb25Y1xvmjb2f/Apr9W6wJ1ziVSV9yigFFjsnFtoZpu8CicicipyDpTwm7fS+WBtNoO7tOHlKaMZENfa71h1JpAj8AHACjMrBnDOfQr8EHjci2AiIjVlZvw9ZRcPvbeW0vJK7p3Ynylnht7gU14LpMDTgUeccx2AQ8BFQMrRCznnkoFkgPj4+ABWJyLyfTvzirl3QRpfbNrL6IT2PDp5CAnRLfyOFRS1LnAzW+ecewz4ACgC1gAVx1huBjADICkpyWq7PhGRI1VUGrO/3MYTSzYQ0cjxyKRErhkZH9KDT3ktoF9imtlzwHMAzrk/ALu8CCUiciIbswu5e34qX+/IZ1z/jjwyKZG4Ns39jhV0gV6F0tHMcpxz8VSd/x7jTSwRke8rLa/kmU8385elm2jRNIKnrj6Ny4Z2DpvBp7wW6HXg86vPgZcBd5hZfuCRRES+L3VXPnfPS2V9ViGXDu3M9EsH0qFleA0+5bVAT6Gc5VUQEZFjKSmr4E8ffsvMz7cQ06opM29M4sKBnfyOFRJ0J6aIhKzlW/Zxz/xUtu0r5ppR8dx7UX9aNwvfwae8pgIXkZBTWFLGo4vW8+qKHXTvEMWcqaM5vVf4Dz7lNRW4iISUpeuzuf/NdLIPlDD1rAT+88J+NI+sf7fBe0EFLiIhIa+olN+/m8Fba/bQr1Mrnr5+BKd1a+t3rJCmAhcRX5kZ76ZmMv2dDApLyvjVBX342bm9iWxcv2+D94IKXER8k1VQNfjUR+uyGdqtLY9PHkK/2FZ+xwobKnARCToz47WvdvKH99ZRVlnJby4ewC1nJBDRgG6D94IKXESCavu+Iu6Zn8ayLfsY27MDj04eTPcODWPwKa+pwEUkKCoqjRf+uZX/+WADTRo14tEfDubHI7s12NvgvaACF5E6tyGravCpb3bmc8GATjx8RSKxbZr5HSvsqcBFpM6Ullfyt0828dePN9G6WRP+fM0wLhkSp6Nuj6jARaROrNmZz7R5qWzILmTSsC48cMlA2reI9DtWvaICFxFPHSqt4I8fbuC5L7bSqXUznr85iXH9NfhUXVCBi4hnvty8l3vmp7Ejr5jrx8QzbUJ/WmnwqTqjAheRgB0oKeO/31/H3JU7SYhuwevJYxjds4Pfseo9FbiIBOSjtdnc/1YauYWHuf2cnvzHBX1p1kSDTwVDoFOq/QdwG2BAGnCLmZV4EUxEQtu+g4eZ/u5a3v1mD/1jWzHzxiSGdG3rd6wGpdYF7pzrAvwSGGhmh5xzbwBXAy96lE1EQpCZ8c43e5j+TgZFhyv49YV9+cm5vWgSocGngi3QUyiNgebOuTIgCtgTeCQRCTVmxpqd+SxOz2JRehY78ooZHt+WxyYPoU8nDT7ll1oXuJntds79D7ADOAR8YGYfHL2ccy4ZSAaIj4+v7epEJMgqKo2UbXksSs9iSUYWmQUlNIlwnN4rmjvP78MVw7po8CmfBXIKpR1wOZAA5AN/d85db2avHLmcmc0AZgAkJSVZ7aOKSF0rq6hkxZY8FqVnsiQjm70HDxPZuBHn9I3hrvH9OH9AJ9o012WBoSKQUygXAFvNLBfAObcAOB145YR/S0RCyuHyCv65aS+L0rL4cF02+cVlREVGcF6/jkxIjOW8/h1p2VQXrIWiQP5XdgBjnHNRVJ1COR9I8SSViNSpQ6UVfPptLovSM1m6LofCw+W0ataYCwZ0YkJiLOf0jdGlgGEgkHPgK5xz84DVQDnwNdWnSkQk9Bw8XM7S9TksTs/k4/W5HCqroF1UEyYOjmXi4DjO6BWtaczCTEA/F5nZg8CDHmUREY8VFJfx4bpsFqdn8tnGvZSWVxLTqimTR3RhYmIcoxPa01iX/4UtndgSqWf2HjzMBxnZLErPZNnmfZRXGp3bNOP60d2ZODiW4fHtdPVIPaECF6kHsgpKWJKRxaL0TFZuzaPSoHuHKKaclcDExDiGdm2jMbjrIRW4SJjamVdcfWNNJqt35APQp2NLfn5ebyYkxjEgrpVKu55TgYuEkS25B1lUXdrpuw8AMDCuNf/1g75MSIyjd8eWPieUYFKBi4QwM2NDdiGL0rJYnJ7FhuxCAE7r1pZ7J/ZnYmIc8R2ifE4pflGBi4QYMyNtdwGL0qtKe+veIpyDkd3b8+ClAxk/KJbObZv7HVNCgApcJARUVhpf79zPorSqwaJ25x8iopFjbM8OTDkzgR8M6kTHVprFXf6dClzEJ+UVlazclsfi6sGisg8cJjKiEWf2iebOC/pw4YBOtNMkwHICKnCRICotr2TZln0sSsvkg7XZ5BWV0qxJ1WBRExPjGDegI601h6TUkApcpI6VlFXw+ca9LErP5KO12RwoKadFZATjBnRiYmIs5/aLISpSu6KcOn3ViNSB4tJyPl5fNVjUx+tzKCqtoHWzxlw4MJaJibGc2Sdag0VJwFTgIh45UFLG0nU5vJ+Wyaff5nK4vJIOLSK57LTOTEiMY2zPDhosSjylAhcJwP6iUj5cWzXuyBeb9lJWYXRq3ZSrR3ZjQmIcI3u002BRUmdU4CKnKKewhCUZVSP8Ld+SR0Wl0aVtc24a24OJg+MY1q0tjTRYlASBClykBvbkH/pu3JGU7fsxg57RLbj97J5MTIwjsUtrjTsiQRfInJj9gNePeKon8FszezLQUCKhYPu+oupxR7L4Zmc+AP06teKX4/pw0eA4+nZqqdIWXwUyI88G4DQA51wEsBt405tYIv7YmF34XWmvy6waLGpwlzbcNb4fExNj6RmjwaIkdHh1CuV8YLOZbffo/USCJrPgEHNW7GBRehabcg4CMKJ7O35z8QDGD4qlW3sNFiWhyasCvxqYe6wXnHPJQDJAfHy8R6sTCVxlpTFn5Q4eXbSe4tJyRiW054Yxgxg/KJbYNhp3REKfM7PA3sC5SGAPMMjMsk+0bFJSkqWkaOJ68d/WvUXcMz+VFVvzOKN3B/570hANyyohyzm3ysySjn7eiyPwicDqk5W3SCgor6jkuS+28scPvyWycSMenzyEHyV11S8jJSx5UeDXcJzTJyKhZO2eA0ybn0ra7gIuHNiJh69IpFNrnSqR8BVQgTvnWgAXArd7E0fEe4fLK/jL0k08/clm2kY14a/XDueiwbE66pawF1CBm1kR0MGjLCKeW7V9P9Pmp7Ip5yA/HN6FBy4eqDG2pd7QnZhSLxWXlvPEkg28+OU24lo344VbRnJev45+xxLxlApc6p0vNu7lngWp7Np/iBvHdufuCf1p2VRf6lL/6Kta6o2C4jIeeX8tb6TsIiG6BW/cPpZRCe39jiVSZ1TgUi8sTs/igbfTySsq5afn9uLO8/towgSp91TgEtZyCw8z/Z0M3kvLZGBca164eSSJXdr4HUskKFTgEpbMjAWrd/P7hWs5VFrBXeP7kXx2T5po8gRpQFTgEnZ25x/ivgVpfPptLiO6t+OxyUPo3VGjBErDowKXsFFZabyyYjuPLVqPAdMvHciNY3to9htpsFTgEhY25x7knvmpfLVtP2f1ieYPkwZrmFdp8FTgEtLKKiqZ+fkWnvxoI80aN+KJK4dw5QgNPiUCKnAJYem7C5g2P5WMPQeYmBjL7y4fRMdWGnxK5F9U4BJySsoq+PPSjTzz6RbaRUXy9HXDmTg4zu9YIiFHBS4hJWVbHnfPT2VLbhFXjujKby4eQNsoDT4lciwqcAkJRYerBp+avWwbnds056VbR3F23xi/Y4mENBW4+O7Tb3O5b0EaewoOcdPYHtw1vh8tNPiUyElpLxHf5BeX8tDCdcxfvYueMS34++1jSeqhwadEairQGXnaArOARMCAW81smQe5pJ5blJbJA29nsL+4lJ+f15ufj+utwadETlGgR+BPAYvN7Mrq2el1Z4WcUM6BEn77dgaLM7IY1Lk1s28dyaDOGnxKpDZqXeDOuTbA2cDNAGZWCpR6E0vqGzNj3qpdPLRwLSXllUyb0J+pZyXQWINPidRaIEfgCUAu8IJzbiiwCrizep7M7zjnkoFkgPj4+ABWJ+FqZ14x972Zxucb9zKyRzsenTyEXjEafEokUIEc/jQGhgNPm9kwoAi45+iFzGyGmSWZWVJMjC4La0gqKo0X/7mV8U9+xurt+3no8kG8njxW5S3ikUCOwHcBu8xsRfXn8zhGgUvDtCmnkGnz01i1fT/n9I3hkUmJdG2nX5GIeKnWBW5mWc65nc65fma2ATgfWOtdNAlHZRWVPPvpZv73H5uIahrBH68ayqRhXTT4lEgdCPQqlF8Ar1ZfgbIFuCXwSBKu0ncXcNe8VNZlHuDiIXFMv3QQMa2a+h1LpN4KqMDNbA2Q5E0UCVclZRU8+dFGZn6+hfYtInn2hhGMHxTrdyyRek93YkpAVm7N4575qWzZW8SPk7px30UDaBPVxO9YIg2CClxqpbCkjMcXb+Dl5dvp2q45r0wZzZl9ov2OJdKgqMDllH28IYf7F6SReaCEW89I4L/G9yUqUl9KIsGmvU5qbH9RKQ8tXMuCr3fTp2NL5v3kdEZ0b+d3LJEGSwUuJ2VmvJeWyYNvZ1BwqIxfjuvNHeN607SxBp8S8ZMKXE4o+0AJD7yVzgdrsxncpQ2v3DaaAXGt/Y4lIqjA5TjMjDdSdvLwe+soLa/k3on9mXKmBp8SCSUqcPmeHfuKuWdBKl9u3seohPY8NnkICdEt/I4lIkdRgct3KiqNF7/cxv8s2UBEI8fDVyRy7ah4GjXSbfAioUgFLgB8m13I3fNSWbMzn3H9O/LwFYl0btvc71gicgIq8AautLySZz7dzJ+XbqRl08Y8dfVpXDa0swafEgkDKvAG7Jud+Uybn8r6rEIuHdqZ6ZcOpENLDT4lEi5U4A3QodIK/vTRt8z6fAsxrZoy88YkLhzYye9YInKKVOANzLLN+7h3QSrb9hVzzahu3HvRAFo30+BTIuFIBd5AHCgp49FF65mzYgfx7aOYc9toTu+twadEwpkKvAFYuj6b+xakk1NYwtSzEvjPC/vRPFK3wYuEu4AK3Dm3DSgEKoByM9PkDiFk38HD/H7hWt5es4d+nVrxzA0jOK1bW79jiYhHvDgCP8/M9nrwPuIRM+Pd1Eymv5NBYUkZv7qgDz87tzeRjXUbvEh9olMo9Ux5RSXT5qcxf/UuhnZry+OTh9AvtpXfsUSkDgRa4AZ84Jwz4Fkzm3H0As65ZCAZID4+PsDVyYmUVVTyq9fX8F5qJr8c15s7L+hLhG6DF6m3Ai3wM81st3OuI/Chc269mX125ALVpT4DICkpyQJcnxxHaXklv5i7miUZ2dw7sT+3n9PL70giUscCOilqZrur/8wB3gRGeRFKTk1JWQU/eWUVSzKy+e0lA1XeIg1ErQvcOdfCOdfqX4+BHwDpXgWTmjlUWsHUl1JYuj6Hh69I5NYzE/yOJCJBEsgplE7Am9WDHjUG5pjZYk9SSY0Ul5Yz5cUUlm/dx+OTh3DVyG5+RxKRIKp1gZvZFmCoh1nkFBw8XM6tL3xFyvY8/njVUCYN6+p3JBEJMl1GGIYKDpVx8wsrSd1VwFNXD+PSoZ39jiQiPlCBh5n84lJueG4l67MO8NdrhzEhMc7vSCLiExV4GMkrKuW6WSvYnHOQZ64fwfkDNASsSEOmAg8TuYWHuW7WcrbvK2bmTUmc0zfG70gi4jMVeBjIPlDCtTOXsye/hBduHqlhYEUEUIGHvD35h7h25nJyCw8z+9ZRjEpo73ckEQkRKvAQtjOvmGtmLqeguIyXpoxmRPd2fkcSkRCiAg9R2/YWce3M5Rw8XM4rt41mqMbxFpGjqMBD0Kacg1w3azml5ZXMTR7DoM5t/I4kIiFIBR5iNmQVct2sFYDxWvJYjeUtIselKVpCyNo9B7hm5nIaOXgteYzKW0ROSEfgISJtVwHXP7eCqMgI5kwdQ0J0C78jiUiIU4GHgNU79nPT8ytp3awJryWPoVv7KL8jiUgY0CkUn321LY8bZq2gfYtI3vjJWJW3iNSYjsB99OXmvUx5MYW4Ns2YM3UMsW2a+R1JRMJIwEfgzrkI59zXzrmFXgRqKD77NpdbXviKru2a89rtKm8ROXVenEK5E1jnwfs0GB+vz+G2l1JIiG7Ba8lj6NhK5S0ipy6gAnfOdQUuBmZ5E6f+W5KRRfLLKfTt1JK5U8fQoWVTvyOJSJgK9Aj8SeBuoPJ4Czjnkp1zKc65lNzc3ABXF97eS83kjldXM6hzG169bQztWkT6HUlEwlggs9JfAuSY2aoTLWdmM8wsycySYmIa7hjWb329m1/MXc1p3dry8pRRtGnexO9IIhLmAjkCPwO4zDm3DXgNGOece8WTVPXM31N28h9vrGFUQntm3zqKVs1U3iISuFoXuJnda2ZdzawHcDWw1Myu9yxZPTFnxQ7umpfKmb2jeeHmUbRoqis3RcQbapM6NPvLbTz4Tgbn9Yvh6etH0KxJhN+RRKQe8aTAzewT4BMv3qu+mPnZFh55fx0XDuzEX64dRtPGKm8R8ZaOwOvAXz/exBNLNnDR4FieunoYTSI0YoGIeE8F7iEz46l/bOTJjzZy+Wmd+X8/GkpjlbeI1BEVuEfMjCeWbOBvn2zmyhFdeWzyECIaOb9jiUg9pgL3gJnxyHvrmPXFVq4ZFc8jVyTSSOUtInVMBR4gM2P6OxnMXradm8Z2Z/plg3BO5S0idU8FHoDKSuP+t9KZu3IHt52ZwP0XD1B5i0jQqMBrqaLSmDY/lXmrdvGzc3tx1/h+Km8RCSoVeC2UV1Ty679/w9tr9vCrC/pw5/l9VN4iEnQq8FNUVlHJr15bw3tpmdw1vh93nNfb70gi0kCpwE/B4fIKfjHnaz5Ym839Fw1g6tk9/Y4kIg2YCryGSsoq+Okrq/h4Qy7TLx3IzWck+B1JRBo4FXgNHCqtIPnlFD7fuJc/TBrMtaPj/Y4kIqICP5miw+VMmf0VK7bm8fiVQ7gqqZvfkUREABX4CRWWlHHri1+xavt+/nTVaVwxrIvfkUREvqMCP46CQ2Xc9PxK0nYX8L/XDOOSIZ39jiQi8m9U4MeQX1zKDc+tZH3WAf523XDGD4r1O5KIyPfUusCdc82Az4Cm1e8zz8we9CqYX/YdPMx1s1awZW8Rz94wgnH9O/kdSUTkmAI5Aj8MjDOzg865JsAXzrlFZrbco2xBl1NYwnUzV7Ajr5hZNyZxdt8YvyOJiBxXrQvczAw4WP1pk+oP8yKUH7IKSrh21nIy80t44ZaRnN4r2u9IIiInFNB0Mc65COfcGiAH+NDMVhxjmWTnXIpzLiU3NzeQ1dWZ3fmH+PGMZWQXlDD71lEqbxEJCwEVuJlVmNlpQFdglHMu8RjLzDCzJDNLiokJvVMSO/OK+fGzy8grKuXl20YzKqG935FERGrEkwkbzSwf+BiY4MX7Bcu2vUVc9ewyCkvKmXPbGIbHt/M7kohIjdW6wJ1zMc65ttWPmwMXAus9ylXnNuUc5Kpnl3G4vJK5U8cwuGsbvyOJiJySQK5CiQNmO+ciqPpG8IaZLfQmVt3akFXIdbOWA465U8fQL7aV35FERE5ZIFehpALDPMwSFBl7Crh+1gqaRDRiztQx9O7Y0u9IIiK10qDuxEzdlc8Nz62kRWQEc6aOoUd0C78jiYjUWoMp8NU79nPTcytpE9WEuVPH0K19lN+RREQC0iAKfOXWPG55YSXRrZoyd+oYOrdt7nckEZGA1fsC/3LTXqbMTiGubTPmTh1Dp9bN/I4kIuIJT64DD1WffZvLLS9+Rbf2zXk9eazKW0TqlXp7BL50fTY/eXk1vTq25JUpo+jQsqnfkUREPFUvC3xxeha/mLua/rGteXnKKNpGRfodSUTEc/XuFMrC1D3cMWc1iV3a8Mpto1XeIlJv1asj8De/3sWv3/iGEd3b8cIto2jZtF7980RE/k29abg3UnYybX4qYxI68NzNSURF1pt/mojIMdWLUyivrtjO3fNSObN3NM/fPFLlLSINQtg33Yv/3Mr0d9cyrn9H/nbdcJo1ifA7kohIUIR1gc/4bDN/eH89PxjYib9cO5zIxvXiBwoRkRoJ2wL/68ebeGLJBi4eEseTPz6NJhEqbxFpWMKuwM2MJz/ayFP/2MikYV144sohNFZ5i0gDFFYFbmY8vmQDT3+ymR+N6Mqjk4cQ0cj5HUtExBeBTKnWzTn3sXNurXMuwzl3p5fBjmZmPPzeOp7+ZDPXjo7nMZW3iDRwgRyBlwO/NrPVzrlWwCrn3IdmttajbN+prDSmv5vBS8u2c/PpPXjw0oE4p/IWkYYtkCnVMoHM6seFzrl1QBfA0wI3M37zdjpzVuwg+eye3Duxv8pbRASPbuRxzvWgan7MFcd4Ldk5l+KcS8nNza3Ne9MrpiV3nNdL5S0icgRnZoG9gXMtgU+BR8xswYmWTUpKspSUlIDWJyLS0DjnVplZ0tHPB3QE7pxrAswHXj1ZeYuIiLcCuQrFAc8B68zsj95FEhGRmgjkCPwM4AZgnHNuTfXHRR7lEhGRkwjkKpQvAP1GUUTEJ7oHXUQkTKnARUTClApcRCRMqcBFRMJUwDfynNLKnMsFttfyr0cDez2M4xXlOjXKdWqU69TU11zdzSzm6CeDWuCBcM6lHOtOJL8p16lRrlOjXKemoeXSKRQRkTClAhcRCVPhVOAz/A5wHMp1apTr1CjXqWlQucLmHLiIiPy7cDoCFxGRI6jARUTCVMgVuHNugnNug3Nuk3PunmO83tQ593r16yuqZwMKhVw3O+dyjxiZ8bYgZHreOZfjnEs/zuvOOfe/1ZlTnXPD6zpTDXOd65wrOGJb/TZIuU46Ebcf26yGuYK+zZxzzZxzK51z31Tn+t0xlgn6/ljDXEHfH49Yd4Rz7mvn3MJjvObt9jKzkPkAIoDNQE8gEvgGGHjUMj8Dnql+fDXweojkuhn4S5C319nAcCD9OK9fBCyiatTIMcCKEMl1LrDQh6+vOGB49eNWwLfH+H8M+jarYa6gb7PqbdCy+nETqqZMHHPUMn7sjzXJFfT98Yh1/ycw51j/X15vr1A7Ah8FbDKzLWZWCrwGXH7UMpcDs6sfzwPOd3U/UWZNcgWdmX0G5J1gkcuBl6zKcqCtcy4uBHL5wswyzWx19eNC4F8TcR8p6NushrmCrnobHKz+tEn1x9FXPQR9f6xhLl8457oCFwOzjrOIp9sr1Aq8C7DziM938f0v5O+WMbNyoADoEAK5ACZX/9g9zznXrY4z1URNc/thbPWPwIucc4OCvXJ3/Im4fd1mJ8gFPmyz6tMBa4Ac4EMzO+72CuL+WJNc4M/++CRwN1B5nNc93V6hVuDh7F2gh5kNAT7k/77Lyvetpmpsh6HAn4G3grlyVzUR93zgV2Z2IJjrPpGT5PJlm5lZhZmdBnQFRjnnEoOx3pOpQa6g74/OuUuAHDNbVdfr+pdQK/DdwJHfKbtWP3fMZZxzjYE2wD6/c5nZPjM7XP3pLGBEHWeqiZpsz6AzswP/+hHYzN4HmjjnooOxbnfyibh92WYny+XnNqteZz7wMTDhqJf82B9Pmsun/fEM4DLn3DaqTrOOc869ctQynm6vUCvwr4A+zrkE51wkVSf53zlqmXeAm6ofXwksterfCPiZ66jzpJdRdR7Tb+8AN1ZfWTEGKDCzTL9DOedi/3Xezzk3iqqvwzrf6avXebKJuIO+zWqSy49t5pyLcc61rX7cHLgQWH/UYkHfH2uSy4/90czuNbOuZtaDqo5YambXH7WYp9ur1nNi1gUzK3fO/RxYQtWVH8+bWYZz7vdAipm9Q9UX+svOuU1U/aLs6hDJ9Uvn3GVAeXWum+s6l3NuLlVXJ0Q753YBD1L1Cx3M7BngfaquqtgEFAO31HWmGua6Evipc64cOARcHYRvwvB/E3GnVZ8/BbgPiD8imx/brCa5/NhmccBs51wEVd8w3jCzhX7vjzXMFfT98XjqcnvpVnoRkTAVaqdQRESkhlTgIiJhSgUuIhKmVOAiImFKBS4iEqZU4CIiYUoFLiISpv4/L7k7zvtI2V8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "plt.plot(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2. Line2D对象绘制"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:15.787151Z",
     "start_time": "2020-11-22T19:03:15.569619Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.lines import Line2D      \n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    "line = Line2D(x, y)\n",
    "ax.add_line(line)\n",
    "ax.set_xlim(min(x), max(x))\n",
    "ax.set_ylim(min(y), max(y))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**2) errorbar绘制误差折线图**  \n",
    "pyplot里有个专门绘制误差线的功能，通过`errorbar`类实现，它的构造函数： \n",
    "  \n",
    ">matplotlib.pyplot.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, \\*, data=None, \\**kwargs)\n",
    "  \n",
    "其中最主要的参数是前几个:  \n",
    "+ **x**：需要绘制的line中点的在x轴上的取值  \n",
    "+ **y**：需要绘制的line中点的在y轴上的取值  \n",
    "+ **yerr**：指定y轴水平的误差  \n",
    "+ **xerr**：指定x轴水平的误差   \n",
    "+ **fmt**：指定折线图中某个点的颜色，形状，线条风格，例如‘co--’  \n",
    "+ **ecolor**：指定error bar的颜色  \n",
    "+ **elinewidth**：指定error bar的线条宽度  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制errorbar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:16.011512Z",
     "start_time": "2020-11-22T19:03:15.791101Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<ErrorbarContainer object of 3 artists>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "fig = plt.figure()\n",
    "x = np.arange(10)\n",
    "y = 2.5 * np.sin(x / 20 * np.pi)\n",
    "yerr = np.linspace(0.05, 0.2, 10)\n",
    "plt.errorbar(x, y + 3, yerr=yerr, label='both limits (default)')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. patches\n",
    "matplotlib.patches.Patch类是二维图形类。它的基类是matplotlib.artist.Artist，它的构造函数：  \n",
    "详细清单见 [matplotlib.patches API](https://matplotlib.org/api/patches_api.html)  \n",
    "  \n",
    "  \n",
    "\n",
    ">Patch(edgecolor=None, facecolor=None, color=None,\n",
    "  linewidth=None, linestyle=None, antialiased=None,\n",
    "  hatch=None, fill=True, capstyle=None, joinstyle=None,\n",
    "  **kwargs)\n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### a. Rectangle-矩形\n",
    "`Rectangle`矩形类在官网中的定义是： 通过锚点xy及其宽度和高度生成。\n",
    "Rectangle本身的主要比较简单，即xy控制锚点，width和height分别控制宽和高。它的构造函数：\n",
    "\n",
    "> class matplotlib.patches.Rectangle(xy, width, height, angle=0.0, **kwargs)\n",
    "\n",
    "在实际中最常见的矩形图是hist直方图和bar条形图。  \n",
    "  \n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**1) hist-直方图**  \n",
    "\n",
    ">matplotlib.pyplot.hist(x,bins=None,range=None, density=None, bottom=None, histtype='bar', align='mid', log=False, color=None, label=None, stacked=False, normed=None)\n",
    "    \n",
    "下面是一些常用的参数：  \n",
    "+ **x**: 数据集，最终的直方图将对数据集进行统计\n",
    "+ **bins**: 统计的区间分布\n",
    "+ **range**: tuple, 显示的区间，range在没有给出bins时生效\n",
    "+ **density**: bool，默认为false，显示的是频数统计结果，为True则显示频率统计结果，这里需要注意，频率统计结果=区间数目/(总数*区间宽度)，和normed效果一致，官方推荐使用density\n",
    "+ **histtype**: 可选{'bar', 'barstacked', 'step', 'stepfilled'}之一，默认为bar，推荐使用默认配置，step使用的是梯状，stepfilled则会对梯状内部进行填充，效果与bar类似\n",
    "+ **align**: 可选{'left', 'mid', 'right'}之一，默认为'mid'，控制柱状图的水平分布，left或者right，会有部分空白区域，推荐使用默认\n",
    "+ **log**: bool，默认False,即y坐标轴是否选择指数刻度\n",
    "+ **stacked**: bool，默认为False，是否为堆积状图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "hist绘制直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:16.265839Z",
     "start_time": "2020-11-22T19:03:16.015501Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 100.0)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAQvklEQVR4nO3de7BdZX3G8e8DkdEgcimnKIQ00SIOVSzMseKl1gJaVCqOtQojFpRObKdVdHQo2pka2+q0o1VRWzoZuVkZtEVUajsKBS12imgCKJfgZRARBBPF24AFUn/9Y6+YM6fvSXZysvfayf5+ZvacvdZee7+/s+bNefKuy7tTVUiSNN8efRcgSZpMBoQkqcmAkCQ1GRCSpCYDQpLUtKTvAoZx4IEH1ooVK/ouQ5J2KevWrft+Vc3s6Pt3iYBYsWIFa9eu7bsMSdqlJPn2Yt7vISZJUpMBIUlqMiAkSU0GhCSpyYCQJDUZEJKkppEFRJLzk2xIcnPjtTclqSQHjqp9SdLijHIEcSFwwvyVSQ4Fng/cOcK2JUmLNLKAqKprgPsaL70XOAvwiygkaYKN9U7qJCcBd1fVV5Jsa9tVwCqA5cuXj6E6aRe2uu8CmIwatFON7SR1kqXAW4G/GGb7qlpTVbNVNTszs8NTiUiSdtA4r2J6ArAS+EqSO4BlwPVJHjvGGiRJQxrbIaaqugn45c3LXUjMVtX3x1WDJGl4o7zM9RLgWuDwJHclOWNUbUmSdr6RjSCq6pRtvL5iVG1LkhbPO6klSU0GhCSpyYCQJDUZEJKkJgNCktRkQEiSmgwISVKTASFJajIgJElNBoQkqcmAkCQ1GRCSpCYDQpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqSmkQVEkvOTbEhy85x170pyW5KvJvlEkv1G1b4kaXFGOYK4EDhh3rorgSdX1ZHA14G3jLB9SdIijCwgquoa4L55666oqk3d4heBZaNqX5K0OEt6bPs1wMcWejHJKmAVwPLly8dV08JW911AZ3XfBUyQ1X0XwGTUoMmzuu8Cdo5eTlIn+XNgE3DxQttU1Zqqmq2q2ZmZmfEVJ0kCehhBJDkdOBE4rqpq3O1LkoYz1oBIcgJwFvBbVfXAONuWJG2fUV7meglwLXB4kruSnAF8ENgHuDLJjUn+cVTtS5IWZ2QjiKo6pbH6vFG1J0naubyTWpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1NTndN/Srm913wVIo+MIQpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1GRASJKaDAhJUtPIAiLJ+Uk2JLl5zroDklyZ5Bvdz/1H1b4kaXFGOYK4EDhh3rqzgauq6jDgqm5ZkjSBRhYQVXUNcN+81ScBF3XPLwJeMqr2JUmLM+5zEAdV1T3d83uBgxbaMMmqJGuTrN24ceN4qpMk/UJvJ6mrqoDayutrqmq2qmZnZmbGWJkkCcYfEN9L8jiA7ueGMbcvSRrSuAPicuC07vlpwKfG3L4kaUijvMz1EuBa4PAkdyU5A/gb4HlJvgEc3y1LkibQyL6TuqpOWeCl40bVpiRp5/FOaklSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1GRASJKaDAhJUtPI7qTWiKzuuwAmowZJI+cIQpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1GRASJKaegmIJG9MckuSm5NckuSRfdQhSVrY2AMiySHA64HZqnoysCdw8rjrkCRt3VABkeSqYdZthyXAo5IsAZYC313EZ0mSRmCrs7l2h36WAgcm2R9I99JjgEN2pMGqujvJu4E7gZ8BV1TVFY22VwGrAJbvu9wZRCfJ6r4L0ERa3XcBndV9F7D72NYI4rXAOuBJ3c/Nj08BH9yRBrugOQlYCRwM7J3k1PnbVdWaqpqtqtmZpTM70pQkaRG2GhBVdU5VrQTeXFWPr6qV3eOpVbVDAQEcD3yrqjZW1cPAZcAzd/CzJEkjMtQXBlXVB5I8E1gx9z1V9eEdaPNO4JgkSxkcYjoOWLsDnyNJGqGhAiLJPwFPAG4E/rdbXcB2B0RVXZfkUuB6YBNwA7Bmez9HkjRaw37l6CxwRFXVzmi0qt4GvG1nfJYkaTSGvQ/iZuCxoyxEkjRZhh1BHAjcmuRLwIObV1bVi0dSlSSpd8MGxOpRFiFJmjzDXsX0n6MuRJI0WYa9iumnDK5aAtgLeARwf1U9ZlSFSZL6NewIYp/Nz5OEwZ3Qx4yqKElS/7Z7Ntca+CTwOzu/HEnSpBj2ENNL5yzuweC+iP8ZSUWSpIkw7FVMvzvn+SbgDgaHmSRJu6lhz0G8etSFSJImy7BfGLQsySeSbOgeH0+ybNTFSZL6M+xJ6guAyxl8f8PBwL926yRJu6lhA2Kmqi6oqk3d40LAb/GRpN3YsAHxgySnJtmze5wK/GCUhUmS+jVsQLwGeDlwL3AP8DLg9BHVJEmaAMNe5vqXwGlV9UOAJAcA72YQHJKk3dCwI4gjN4cDQFXdBxw1mpIkSZNg2IDYI8n+mxe6EcSwow9J0i5o2D/yfwdcm+RfuuXfB94xmpIkSZNg2DupP5xkLXBst+qlVXXr6MqSJPVt6MNEXSAYCpI0JbZ7uu+dIcl+SS5NcluS9Ume0UcdkqSF9XWi+RzgM1X1siR7AUt7qkOStICxB0SSfYHn0N1oV1UPAQ+Nuw5J0tb1MYJYCWwELkjyVGAdcGZV3T93oySrgFUAy/ddPvYiJe2iVvddwO6jj3MQS4CjgXOr6ijgfuDs+RtV1Zqqmq2q2ZmlzgsoSePWR0DcBdxVVdd1y5cyCAxJ0gQZe0BU1b3Ad5Ic3q06Di+flaSJ09dVTK8DLu6uYLod8CtNJWnC9BIQVXUjMNtH25Kk4fRyo5wkafIZEJKkJgNCktRkQEiSmgwISVKTASFJajIgJElNBoQkqcmAkCQ1GRCSpCYDQpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1GRASJKaeguIJHsmuSHJp/uqQZK0sD5HEGcC63tsX5K0Fb0ERJJlwIuAD/XRviRp2/oaQbwPOAv4eU/tS5K2YewBkeREYENVrdvGdquSrE2yduMDG8dUnSRpsz5GEM8CXpzkDuCjwLFJPjJ/o6paU1WzVTU7s3Rm3DVK0tQbe0BU1VuqallVrQBOBq6uqlPHXYckaeu8D0KS1LSkz8ar6vPA5/usQZLU5ghCktRkQEiSmgwISVKTASFJajIgJElNBoQkqcmAkCQ1GRCSpCYDQpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1GRASJKaDAhJUpMBIUlqMiAkSU1jD4gkhyb5XJJbk9yS5Mxx1yBJ2rYlPbS5CXhTVV2fZB9gXZIrq+rWHmqRJC1g7COIqrqnqq7vnv8UWA8cMu46JElb1+s5iCQrgKOA6xqvrUqyNsnajQ9sHHttkjTteguIJI8GPg68oap+Mv/1qlpTVbNVNTuzdGb8BUrSlOslIJI8gkE4XFxVl/VRgyRp6/q4iinAecD6qnrPuNuXJA2njxHEs4BXAccmubF7vLCHOiRJWzH2y1yr6r+AjLtdSdL28U5qSVKTASFJajIgJElNBoQkqcmAkCQ1GRCSpCYDQpLUZEBIkpoMCElSkwEhSWoyICRJTQaEJKnJgJAkNRkQkqQmA0KS1GRASJKaDAhJUpMBIUlqMiAkSU0GhCSpyYCQJDX1EhBJTkjytSTfTHJ2HzVIkrZu7AGRZE/g74EXAEcApyQ5Ytx1SJK2ro8RxG8A36yq26vqIeCjwEk91CFJ2oolPbR5CPCdOct3AU+fv1GSVcCqbvHBvD03j6G2XcGBwPf7LmJCuC+2cF9s4b7Y4vDFvLmPgBhKVa0B1gAkWVtVsz2XNBHcF1u4L7ZwX2zhvtgiydrFvL+PQ0x3A4fOWV7WrZMkTZA+AuLLwGFJVibZCzgZuLyHOiRJWzH2Q0xVtSnJnwKfBfYEzq+qW7bxtjWjr2yX4b7Ywn2xhftiC/fFFovaF6mqnVWIJGk34p3UkqQmA0KS1DTRATHNU3IkOTTJ55LcmuSWJGd26w9IcmWSb3Q/9++71nFJsmeSG5J8ultemeS6rn98rLvoYbeXZL8klya5Lcn6JM+Y1n6R5I3dv4+bk1yS5JHT0i+SnJ9kQ7LlHrGF+kEG3t/tk68mOXqYNiY2IJySg03Am6rqCOAY4E+63/9s4KqqOgy4qlueFmcC6+cs/y3w3qr6VeCHwBm9VDV+5wCfqaonAU9lsE+mrl8kOQR4PTBbVU9mcNHLyUxPv7gQOGHeuoX6wQuAw7rHKuDcYRqY2IBgyqfkqKp7qur67vlPGfwROITBPrio2+wi4CW9FDhmSZYBLwI+1C0HOBa4tNtkKvZFkn2B5wDnAVTVQ1X1I6a0XzC4EvNRSZYAS4F7mJJ+UVXXAPfNW71QPzgJ+HANfBHYL8njttXGJAdEa0qOQ3qqpVdJVgBHAdcBB1XVPd1L9wIH9VXXmL0POAv4ebf8S8CPqmpTtzwt/WMlsBG4oDvc9qEkezOF/aKq7gbeDdzJIBh+DKxjOvvFZgv1gx36ezrJASEgyaOBjwNvqKqfzH2tBtco7/bXKSc5EdhQVev6rmUCLAGOBs6tqqOA+5l3OGmK+sX+DP5nvBI4GNib/3/IZWrtjH4wyQEx9VNyJHkEg3C4uKou61Z/b/PQsPu5oa/6xuhZwIuT3MHgUOOxDI7D79cdWoDp6R93AXdV1XXd8qUMAmMa+8XxwLeqamNVPQxcxqCvTGO/2GyhfrBDf08nOSCmekqO7hj7ecD6qnrPnJcuB07rnp8GfGrctY1bVb2lqpZV1QoG/eDqqnol8DngZd1m07Iv7gW+k2TzLJ3HAbcyhf2CwaGlY5Is7f69bN4XU9cv5lioH1wO/EF3NdMxwI/nHIpa0ETfSZ3khQyOPW+ekuMd/VY0PkmeDXwBuIktx93fyuA8xD8Dy4FvAy+vqvknqnZbSZ4LvLmqTkzyeAYjigOAG4BTq+rBHssbiyS/zuBk/V7A7cCrGfxnb+r6RZK3A69gcNXfDcAfMji2vtv3iySXAM9lML3594C3AZ+k0Q+6AP0gg0NwDwCvrqptzvQ60QEhSerPJB9ikiT1yICQJDUZEJKkJgNCktRkQEiSmgwISVKTASHtRHPu4JV2eQaEpl6SvZP8W5KvdN8r8IokT0vy3926LyXZp/uugQuS3NRNlPfb3ftPT3J5kquBq7rPO7973w1JTuq2+7Vu3Y3dnPyH9fqLS9vg/3akwd2l362qF8EvptS+AXhFVX05yWOAnzH4PoqqqqckeRJwRZIndp9xNHBkd9fqOxlMB/KaJPsBX0ryH8AfAedU1cXd9DF7jvW3lLaTIwhpMJ3J85L8bZLfZDBNwT1V9WWAqvpJN330s4GPdOtuYzCVweaAuHLO1BbPB85OciPweeCR3WdeC7w1yZ8Bv1JVPxvHLyftKEcQmnpV9fXuKxhfCPw1cPUOfMz9c54H+L2q+tq8bdYnuY7BFx/9e5LXVtWOtCWNhSMITb0kBwMPVNVHgHcBTwcel+Rp3ev7dCefvwC8slv3RAajgvkhAPBZ4HXdBGkkOar7+Xjg9qp6P4NZNo8c6S8mLZIjCAmeArwryc+Bh4E/ZjAK+ECSRzE4/3A88A/AuUluYjB76OlV9WCXA3P9FYNZiL+aZA/gW8CJwMuBVyV5mMG3fb1z1L+YtBjO5ipJavIQkySpyYCQJDUZEJKkJgNCktRkQEiSmgwISVKTASFJavo/8HdavkWzs/YAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np \n",
    "x=np.random.randint(0,100,100) #生成[0-100)之间的100个数据,即 数据集 \n",
    "bins=np.arange(0,101,10) #设置连续的边界值，即直方图的分布区间[0,10),[10,20)... \n",
    "plt.hist(x,bins,color='fuchsia',alpha=0.5)#alpha设置透明度，0为完全透明 \n",
    "plt.xlabel('scores') \n",
    "plt.ylabel('count') \n",
    "plt.xlim(0,100)#设置x轴分布范围 plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Rectangle`矩形类绘制直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:17.636487Z",
     "start_time": "2020-11-22T19:03:16.268824Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import re\n",
    "df = pd.DataFrame(columns = ['data'])\n",
    "df.loc[:,'data'] = x\n",
    "df['fenzu'] = pd.cut(df['data'], bins=bins, right = False,include_lowest=True)\n",
    "\n",
    "df_cnt = df['fenzu'].value_counts().reset_index()\n",
    "df_cnt.loc[:,'mini'] = df_cnt['index'].astype(str).map(lambda x:re.findall('\\[(.*)\\,',x)[0]).astype(int)\n",
    "df_cnt.loc[:,'maxi'] = df_cnt['index'].astype(str).map(lambda x:re.findall('\\,(.*)\\)',x)[0]).astype(int)\n",
    "df_cnt.loc[:,'width'] = df_cnt['maxi']- df_cnt['mini']\n",
    "df_cnt.sort_values('mini',ascending = True,inplace = True)\n",
    "df_cnt.reset_index(inplace = True,drop = True)\n",
    "\n",
    "#用Rectangle把hist绘制出来\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "#rect1 = plt.Rectangle((0,0),10,10)\n",
    "#ax1.add_patch(rect)\n",
    "\n",
    "#ax2 = fig.add_subplot(212)\n",
    "for i in df_cnt.index:\n",
    "    rect =  plt.Rectangle((df_cnt.loc[i,'mini'],0),df_cnt.loc[i,'width'],df_cnt.loc[i,'fenzu'])\n",
    "#rect2 = plt.Rectangle((10,0),10,5)\n",
    "    ax1.add_patch(rect)\n",
    "#ax1.add_patch(rect2)\n",
    "ax1.set_xlim(0, 100)\n",
    "ax1.set_ylim(0, 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**2) bar-柱状图**   \n",
    "  \n",
    ">matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3)\n",
    "  \n",
    "下面是一些常用的参数：    \n",
    "+ **left**：x轴的位置序列，一般采用range函数产生一个序列，但是有时候可以是字符串  \n",
    "+ **height**：y轴的数值序列，也就是柱形图的高度，一般就是我们需要展示的数据；  \n",
    "+ **alpha**：透明度，值越小越透明  \n",
    "+ **width**：为柱形图的宽度，一般这是为0.8即可；  \n",
    "+ **color或facecolor**：柱形图填充的颜色；  \n",
    "+ **edgecolor**：图形边缘颜色   \n",
    "+ **label**：解释每个图像代表的含义，这个参数是为legend()函数做铺垫的，表示该次bar的标签    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "bar绘制柱状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:17.905764Z",
     "start_time": "2020-11-22T19:03:17.639478Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 16 artists>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "y = range(1,17)\n",
    "plt.bar(np.arange(16), y, alpha=0.5, width=0.5, color='yellow', edgecolor='red', label='The First Bar', lw=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Rectangle`矩形类绘制柱状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:18.160085Z",
     "start_time": "2020-11-22T19:03:17.909754Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#import matplotlib.pyplot as plt\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "\n",
    "for i in range(1,17):\n",
    "    rect =  plt.Rectangle((i+0.25,0),0.5,i)\n",
    "    ax1.add_patch(rect)\n",
    "ax1.set_xlim(0, 16)\n",
    "ax1.set_ylim(0, 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### b. Polygon-多边形\n",
    "matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch，它的构造函数：\n",
    "  \n",
    ">class matplotlib.patches.Polygon(xy, closed=True, **kwargs)  \n",
    "  \n",
    "xy是一个N×2的numpy array，为多边形的顶点。  \n",
    "closed为True则指定多边形将起点和终点重合从而显式关闭多边形。  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib.patches.Polygon类中常用的是fill类，它是基于xy绘制一个填充的多边形，它的定义：\n",
    "\n",
    ">matplotlib.pyplot.fill(*args, data=None, **kwargs)\n",
    "\n",
    "参数说明 : 关于x、y和color的序列，其中color是可选的参数，每个多边形都是由其节点的x和y位置列表定义的，后面可以选择一个颜色说明符。您可以通过提供多个x、y、[颜色]组来绘制多个多边形。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "fill绘制图形"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:18.414405Z",
     "start_time": "2020-11-22T19:03:18.164076Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.patches.Polygon at 0x2b1541ce088>]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "x = np.linspace(0, 5 * np.pi, 1000) \n",
    "y1 = np.sin(x)\n",
    "y2 = np.sin(2 * x) \n",
    "plt.fill(x, y1, color = \"g\", alpha = 0.3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### c. Wedge-契形\n",
    "matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch，它的构造函数：\n",
    "\n",
    ">class matplotlib.patches.Wedge(center, r, theta1, theta2, width=None, **kwargs)  \n",
    "  \n",
    "一个Wedge-契形 是以坐标x,y为中心，半径为r，从θ1扫到θ2(单位是度)。  \n",
    "如果宽度给定，则从内半径r -宽度到外半径r画出部分楔形。wedge中比较常见的是绘制饼状图。  \n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib.pyplot.pie语法：  \n",
    ">matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)\n",
    "  \n",
    "制作数据x的饼图，每个楔子的面积用x/sum(x)表示。    \n",
    "其中最主要的参数是前4个：  \n",
    "+ **x**：契型的形状，一维数组。\n",
    "+ **explode**：如果不是等于None，则是一个len(x)数组，它指定用于偏移每个楔形块的半径的分数。  \n",
    "+ **labels**：用于指定每个契型块的标记，取值是列表或为None。  \n",
    "+ **colors**：饼图循环使用的颜色序列。如果取值为None，将使用当前活动循环中的颜色。  \n",
    "+ **startangle**：饼状图开始的绘制的角度。   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "pie绘制饼状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:18.519127Z",
     "start_time": "2020-11-22T19:03:18.418395Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'\n",
    "sizes = [15, 30, 45, 10] \n",
    "explode = (0, 0.1, 0, 0) \n",
    "fig1, ax1 = plt.subplots() \n",
    "ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) \n",
    "ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "wedge绘制饼图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:18.848246Z",
     "start_time": "2020-11-22T19:03:18.524112Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "from matplotlib.patches import Circle, Wedge\n",
    "from matplotlib.collections import PatchCollection\n",
    "\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "theta1 = 0\n",
    "sizes = [15, 30, 45, 10] \n",
    "patches = []\n",
    "patches += [\n",
    "    Wedge((0.3, 0.3), .2, 0, 54),             # Full circle\n",
    "    Wedge((0.3, 0.3), .2, 54, 162),  # Full ring\n",
    "    Wedge((0.3, 0.3), .2, 162, 324),              # Full sector\n",
    "    Wedge((0.3, 0.3), .2, 324, 360),  # Ring sector\n",
    "]\n",
    "colors = 100 * np.random.rand(len(patches))\n",
    "p = PatchCollection(patches, alpha=0.4)\n",
    "p.set_array(colors)\n",
    "ax1.add_collection(p)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. collections\n",
    "collections类是用来绘制一组对象的集合，collections有许多不同的子类，如RegularPolyCollection, CircleCollection, Pathcollection, 分别对应不同的集合子类型。其中比较常用的就是散点图，它是属于PathCollection子类，scatter方法提供了该类的封装，根据x与y绘制不同大小或颜色标记的散点图。 它的构造方法：\n",
    "  \n",
    ">Axes.scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<deprecated parameter>, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)\n",
    "      \n",
    "      \n",
    "其中最主要的参数是前5个：  \n",
    "+ **x**：数据点x轴的位置  \n",
    "+ **y**：数据点y轴的位置  \n",
    "+ **s**：尺寸大小  \n",
    "+ **c**：可以是单个颜色格式的字符串，也可以是一系列颜色  \n",
    "+ **marker**: 标记的类型  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "scatter绘制散点图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:19.117524Z",
     "start_time": "2020-11-22T19:03:18.852235Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = [0,2,4,6,8,10] \n",
    "y = [10]*len(x) \n",
    "s = [20*2**n for n in range(len(x))] \n",
    "plt.scatter(x,y,s=s) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. images\n",
    "images是matplotlib中绘制image图像的类，其中最常用的imshow可以根据数组绘制成图像，它的构造函数：\n",
    ">class matplotlib.image.AxesImage(ax, cmap=None, norm=None, interpolation=None, origin=None, extent=None, filternorm=True, filterrad=4.0, resample=False, **kwargs)\n",
    "  \n",
    "imshow根据数组绘制图像\n",
    ">matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=<deprecated parameter>, filternorm=1, filterrad=4.0, imlim=<deprecated parameter>, resample=None, url=None, *, data=None, **kwargs）\n",
    "\n",
    "使用imshow画图时首先需要传入一个数组，数组对应的是空间内的像素位置和像素点的值，interpolation参数可以设置不同的差值方法，具体效果如下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:19.356889Z",
     "start_time": "2020-11-22T19:03:19.120521Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 648x432 with 18 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16',\n",
    "           'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric',\n",
    "           'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos']\n",
    "\n",
    "\n",
    "grid = np.random.rand(4, 4)\n",
    "\n",
    "fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9, 6),\n",
    "                        subplot_kw={'xticks': [], 'yticks': []})\n",
    "\n",
    "for ax, interp_method in zip(axs.flat, methods):\n",
    "    ax.imshow(grid, interpolation=interp_method, cmap='viridis')\n",
    "    ax.set_title(str(interp_method))\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 四、对象容器 - Object container\n",
    "容器会包含一些`primitives`，并且容器还有它自身的属性。  \n",
    "比如`Axes Artist`，它是一种容器，它包含了很多`primitives`，比如`Line2D`，`Text`；同时，它也有自身的属性，比如`xscal`，用来控制X轴是`linear`还是`log`的。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Figure容器\n",
    "`matplotlib.figure.Figure`是`Artist`最顶层的`container`-对象容器，它包含了图表中的所有元素。一张图表的背景就是在`Figure.patch`的一个矩形`Rectangle`。  \n",
    "当我们向图表添加`Figure.add_subplot()`或者`Figure.add_axes()`元素时，这些都会被添加到`Figure.axes`列表中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:19.760804Z",
     "start_time": "2020-11-22T19:03:19.359877Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AxesSubplot(0.125,0.536818;0.775x0.343182)\n",
      "[<AxesSubplot:>, <matplotlib.axes._axes.Axes object at 0x000002B1553E65C8>]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(211) # 作一幅2*1的图，选择第1个子图\n",
    "ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3]) # 位置参数，四个数分别代表了(left,bottom,width,height)\n",
    "print(ax1) \n",
    "print(fig.axes) # fig.axes 中包含了subplot和axes两个实例, 刚刚添加的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于`Figure`维持了`current axes`，因此你不应该手动的从`Figure.axes`列表中添加删除元素，而是要通过`Figure.add_subplot()`、`Figure.add_axes()`来添加元素，通过`Figure.delaxes()`来删除元素。但是你可以迭代或者访问`Figure.axes`中的`Axes`，然后修改这个`Axes`的属性。   \n",
    "  \n",
    "比如下面的遍历axes里的内容，并且添加网格线："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:19.970250Z",
     "start_time": "2020-11-22T19:03:19.764796Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(211)\n",
    "\n",
    "for ax in fig.axes:\n",
    "    ax.grid(True)\n",
    "    \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Figure`也有它自己的`text、line、patch、image`。你可以直接通过`add primitive`语句直接添加。但是注意`Figure`默认的坐标系是以像素为单位，你可能需要转换成figure坐标系：(0,0)表示左下点，(1,1)表示右上点。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Figure容器的常见属性：**  \n",
    "`Figure.patch`属性：Figure的背景矩形  \n",
    "`Figure.axes`属性：一个Axes实例的列表（包括Subplot)  \n",
    "`Figure.images`属性：一个FigureImages patch列表  \n",
    "`Figure.lines`属性：一个Line2D实例的列表（很少使用）  \n",
    "`Figure.legends`属性：一个Figure Legend实例列表（不同于Axes.legends)  \n",
    "`Figure.texts`属性：一个Figure Text实例列表  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Axes容器"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`matplotlib.axes.Axes`是matplotlib的核心。大量的用于绘图的`Artist`存放在它内部，并且它有许多辅助方法来创建和添加`Artist`给它自己，而且它也有许多赋值方法来访问和修改这些`Artist`。  \n",
    "  \n",
    "和`Figure`容器类似，`Axes`包含了一个patch属性，对于笛卡尔坐标系而言，它是一个`Rectangle`；对于极坐标而言，它是一个`Circle`。这个patch属性决定了绘图区域的形状、背景和边框。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:20.179686Z",
     "start_time": "2020-11-22T19:03:19.975233Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    "rect = ax.patch  # axes的patch是一个Rectangle实例\n",
    "rect.set_facecolor('green')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Axes`有许多方法用于绘图，如`.plot()、.text()、.hist()、.imshow()`等方法用于创建大多数常见的`primitive`(如`Line2D，Rectangle，Text，Image`等等）。在`primitives`中已经涉及，不再赘述。   \n",
    "  \n",
    "Subplot就是一个特殊的Axes，其实例是位于网格中某个区域的Subplot实例。其实你也可以在任意区域创建Axes，通过Figure.add_axes([left,bottom,width,height])来创建一个任意区域的Axes，其中left,bottom,width,height都是[0—1]之间的浮点数，他们代表了相对于Figure的坐标。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "你不应该直接通过`Axes.lines`和`Axes.patches`列表来添加图表。因为当创建或添加一个对象到图表中时，`Axes`会做许多自动化的工作:  \n",
    "它会设置Artist中figure和axes的属性，同时默认Axes的转换；  \n",
    "它也会检视Artist中的数据，来更新数据结构，这样数据范围和呈现方式可以根据作图范围自动调整。  \n",
    "  \n",
    "你也可以使用Axes的辅助方法`.add_line()`和`.add_patch()`方法来直接添加。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "另外Axes还包含两个最重要的Artist container：\n",
    "\n",
    "`ax.xaxis`：XAxis对象的实例，用于处理x轴tick以及label的绘制  \n",
    "`ax.yaxis`：YAxis对象的实例，用于处理y轴tick以及label的绘制  \n",
    "会在下面章节详细说明。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Axes容器**的常见属性有：  \n",
    "`artists`:    Artist实例列表\n",
    "`patch`:     Axes所在的矩形实例\n",
    "`collections`: Collection实例\n",
    "`images`:    Axes图像\n",
    "`legends`:\t  Legend 实例\n",
    "`lines`:\t  Line2D 实例\n",
    "`patches`:\t  Patch 实例\n",
    "`texts`:\t  Text 实例\n",
    "`xaxis`:\t  matplotlib.axis.XAxis 实例\n",
    "`yaxis`:\t  matplotlib.axis.YAxis 实例"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. Axis容器"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`matplotlib.axis.Axis`实例处理`tick line`、`grid line`、`tick label`以及`axis label`的绘制，它包括坐标轴上的刻度线、刻度`label`、坐标网格、坐标轴标题。通常你可以独立的配置y轴的左边刻度以及右边的刻度，也可以独立地配置x轴的上边刻度以及下边的刻度。\n",
    "\n",
    "刻度包括主刻度和次刻度，它们都是Tick刻度对象。  \n",
    "  \n",
    "`Axis`也存储了用于自适应，平移以及缩放的`data_interval`和`view_interval`。它还有Locator实例和Formatter实例用于控制刻度线的位置以及刻度label。\n",
    "\n",
    "每个Axis都有一个`label`属性，也有主刻度列表和次刻度列表。这些`ticks`是`axis.XTick`和`axis.YTick`实例，它们包含着`line primitive`以及`text primitive`用来渲染刻度线以及刻度文本。\n",
    "\n",
    "刻度是动态创建的，只有在需要创建的时候才创建（比如缩放的时候）。Axis也提供了一些辅助方法来获取刻度文本、刻度线位置等等：  \n",
    "常见的如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:20.508876Z",
     "start_time": "2020-11-22T19:03:20.185670Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.2,  4.2])"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 不用print，直接显示结果\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "plt.plot(x, y, '-')\n",
    "\n",
    "axis = ax.xaxis # axis为X轴对象\n",
    "axis.get_ticklocs()     # 获取刻度线位置\n",
    "axis.get_ticklabels()   # 获取刻度label列表(一个Text实例的列表）。 可以通过minor=True|False关键字参数控制输出minor还是major的tick label。\n",
    "axis.get_ticklines()    # 获取刻度线列表(一个Line2D实例的列表）。 可以通过minor=True|False关键字参数控制输出minor还是major的tick line。\n",
    "axis.get_data_interval()# 获取轴刻度间隔\n",
    "axis.get_view_interval()# 获取轴视角（位置）的间隔"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面的例子展示了如何调整一些轴和刻度的属性(忽略美观度，仅作调整参考)：  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:20.763766Z",
     "start_time": "2020-11-22T19:03:20.511852Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure() # 创建一个新图表\n",
    "rect = fig.patch   # 矩形实例并将其设为黄色\n",
    "rect.set_facecolor('lightgoldenrodyellow')\n",
    "\n",
    "ax1 = fig.add_axes([0.1, 0.3, 0.4, 0.4]) # 创一个axes对象，从(0.1,0.3)的位置开始，宽和高都为0.4，\n",
    "rect = ax1.patch   # ax1的矩形设为灰色\n",
    "rect.set_facecolor('lightslategray')\n",
    "\n",
    "\n",
    "for label in ax1.xaxis.get_ticklabels(): \n",
    "    # 调用x轴刻度标签实例，是一个text实例\n",
    "    label.set_color('red') # 颜色\n",
    "    label.set_rotation(45) # 旋转角度\n",
    "    label.set_fontsize(16) # 字体大小\n",
    "\n",
    "for line in ax1.yaxis.get_ticklines():\n",
    "    # 调用y轴刻度线条实例, 是一个Line2D实例\n",
    "    line.set_color('green')    # 颜色\n",
    "    line.set_markersize(25)    # marker大小\n",
    "    line.set_markeredgewidth(2)# marker粗细\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. Tick容器"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`matplotlib.axis.Tick`是从`Figure`到`Axes`到`Axis`到`Tick`中最末端的容器对象。  \n",
    "`Tick`包含了`tick`、`grid line`实例以及对应的`label`。 \n",
    "  \n",
    "所有的这些都可以通过`Tick`的属性获取，常见的`tick`属性有     \n",
    "`Tick.tick1line`：Line2D实例  \n",
    "`Tick.tick2line`：Line2D实例  \n",
    "`Tick.gridline`：Line2D实例  \n",
    "`Tick.label1`：Text实例  \n",
    "`Tick.label2`：Text实例  \n",
    "  \n",
    "y轴分为左右两个，因此tick1对应左侧的轴；tick2对应右侧的轴。   \n",
    "x轴分为上下两个，因此tick1对应下侧的轴；tick2对应上侧的轴。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面的例子展示了，如何将Y轴右边轴设为主轴，并将标签设置为美元符号且为绿色："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-11-22T19:03:21.003124Z",
     "start_time": "2020-11-22T19:03:20.767754Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2b155643b08>]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(100*np.random.rand(20))\n",
    "\n",
    "# 设置ticker的显示格式\n",
    "formatter = matplotlib.ticker.FormatStrFormatter('$%1.2f')\n",
    "ax.yaxis.set_major_formatter(formatter)\n",
    "\n",
    "# 设置ticker的参数，右侧为主轴，颜色为绿色\n",
    "ax.yaxis.set_tick_params(which='major', labelcolor='green',\n",
    "                         labelleft=False, labelright=True)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 思考题\n",
    "1. primitives 和 container的区别和联系是什么？\n",
    "2. 四个容器的联系和区别是么？他们分别控制一张图表的哪些要素？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 绘图题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. 教程中展示的案例都是单一图，请自行创建数据，**画出包含6个子图的线图**，要求：    \n",
    "子图排布是 2 * 3 （2行 3列）；  \n",
    "线图可用教程中line2D方法绘制；  \n",
    "需要设置每个子图的横坐标和纵坐标刻度；\n",
    "并设置整个图的标题，横坐标名称，以及纵坐标名称\n",
    "2. 分别用一组长方形柱和填充面积的方式模仿画出下图，函数 y = -1 * (x - 2) * (x - 8) +10 在区间[2,9]的积分面积\n",
    "![](https://img-blog.csdnimg.cn/20201126105910781.png)\n",
    "![](https://img-blog.csdnimg.cn/20201126105910780.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 参考资料\n",
    "[1. matplotlib设计的基本逻辑](https://zhuanlan.zhihu.com/p/32693665)  \n",
    "[2. matplotlib.artist api](https://matplotlib.org/api/artist_api.html)  \n",
    "[3. matplotlib官方教程](https://matplotlib.org/tutorials/intermediate/artists.html#sphx-glr-tutorials-intermediate-artists-py)  \n",
    "[4. AI算法工程师手册](https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.2.333f5abdbabf383d.md)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "341.306px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
